3b7ea1f915c59ae74400358ea04a8933607eecbd,codeInsight/impl/com/intellij/codeInsight/completion/SkipAbstractExpectedTypeWeigher.java,SkipAbstractExpectedTypeWeigher,getSkippingStatus,#LookupElement#CompletionLocation#,30
Before Change
if (infos != null) {
final PsiType type = JavaPsiFacade.getInstance(psiClass.getProject()).getElementFactory().createType(psiClass);
for (final ExpectedTypeInfo info : infos) {
final PsiType infoType = info.getType().getDeepComponentType();
final PsiType defaultType = info.getDefaultType().getDeepComponentType();
//todo raw
if (!defaultType.equals(infoType) && infoType.isAssignableFrom(type)) {
After Change
if (infos != null) {
final PsiType type = JavaPsiFacade.getInstance(psiClass.getProject()).getElementFactory().createType(psiClass);
for (final ExpectedTypeInfo info : infos) {
final PsiType infoType = TypeConversionUtil.erasure(info.getType().getDeepComponentType());
final PsiType defaultType = TypeConversionUtil.erasure(info.getDefaultType().getDeepComponentType());
if (!defaultType.equals(infoType) && infoType.isAssignableFrom(type)) {
if (!defaultType.isAssignableFrom(type)) return Result.NON_DEFAULT;